// 错误
function computed(getter) { // getter参数是一个函数
  let value = 0
  setTimeout(() => {
    value = getter()
  })
  return value
}

let a = 0
a = computed(() => 100) // () => 100 一个返回值是 100 的函数

// 值类型的类似赋值效果
// let a = 100
// b = a
// a = 200
// b // 100

// 正确
function computed(getter) {
  const ref = {
    value: null
  }
  setTimeout(() => {
    ref.value = getter()
  })
  return ref
}

let a = 0
a = computed(() => 100) // () => 100 一个返回值是 100 的函数
a.value // 100

// 类似于
const obj1 = { x: 100 }
const obj2 = obj1
obj1.x = 200
obj2.x // 200

